今天介紹物件導向裡面的Interface
// hello39
package main
import (
"fmt"
)
type 老鷹 interface {
自我介紹() string
未來事件() string
}
type 玉面飛鷹 struct {
feature1 string
feature2 string
}
func (jf *玉面飛鷹) 自我介紹() string {
return fmt.Sprintf("大家好! 我是%s,%s的玉面飛鷹!", jf.feature1, jf.feature2)
}
func (jf *玉面飛鷹) 未來事件() string {
return "20140831IT技術講堂以 CodeIgniter 為基礎的網頁前端與後段程式設計."
}
func main() {
玉面飛鷹一號 := 玉面飛鷹{"人見人愛", "花見花開"}
fmt.Printf("%s\n", 玉面飛鷹一號.自我介紹())
fmt.Printf("未來事件:%s 請大家多多支持捧場!\n", 玉面飛鷹一號.未來事件())
}
執行結果:
λ ./hello39
大家好! 我是人見人愛,花見花開的玉面飛鷹!
未來事件:20140831IT技術講堂以 CodeIgniter 為基礎的網頁前端與後段程式設計. 請大家多多支持捧場!
老鷹是interface,只有定義,沒有實作.
玉面飛鷹實作了自我介紹(), 未來事件().
玉面飛鷹一號是實例.